Praat脚本

您所在的位置:网站首页 praat标注 层级 Praat脚本

Praat脚本

#Praat脚本| 来源: 网络整理| 查看: 265

目录 引题方案一方案二方案三获取脚本关注版权说明

引题

Praat是一种非常出色、轻便、开源免费的标注工具,它的最主要用途是标注,即对语音信号中的一些特征、信息进行标注,保存为TextGrid文件,这个TextGrid文件实质 上就是一种文本文件。

在这里插入图片描述

这个标注的使用者也主要是有经验的语言学专家,或者一些研究者等,在实际的工程利用中,工程师通常要处理的是直接的文本或者转化成某种格式的文件,因为TextGrid里有很多冗余的行、标记、符号等,通常不会直接拿TextGrid文件去直接训练模型或者做大数据的处理,这就涉及到如何将TextGrid信息提取出来,比如我们保存成一个整体的文本,或者象在前面的文章中提到 可以保存为Json文件。

Praat脚本-032 | Praat脚本批量转化TextGrid格式为json格式

今天我们学习另外一种保存方案,即将它保存为一种信息文本,可以根据一些公司使用的习惯称为韵律文本。

000001.TextGrid 卡 尔 普2 陪 外 孙1 玩 滑 梯4。 sil k+a2 er2 p+u3 p+ei2 uai4 s+uen1 uan2 h+ua2 t+i1 sil 000002.TextGrid 假 语 村 言2 别 再1 拥 抱 我4。 sil j+ia2 v3 c+uen1 ian2 b+ie2 z+ai4 iong1 b+ao4 uo3 sil 000003.TextGrid 宝 马1 配 挂1 跛 骡 鞍3, 貂 蝉1 怨 枕2 董 翁 榻4。 sil b+ao2 m+a3 p+ei4 g+ua4 b+o3 l+uo2 an1+sp1 d+iao1 ch+an2 van4 zh+en3 d+ong3 ueng1 t+a4 sil 000004.TextGrid 邓 小 平2 与1 撒 切 尔2 会 晤4。 sil d+eng4 x+iao3 p+ing2 v3 s+a4 q+ie4 er3 h+uei4 u4 sil 000005.TextGrid 老 虎1 幼 崽2 与1 宠 物 犬1 玩 耍4。 sil l+ao2 h+u3 iou4 z+ai3+sp1 v2 ch+ong3 u4 q+van3 uan2 sh+ua3 sil 000006.TextGrid 身 长2 约1 五 尺1 二 寸1 五 分2 或1 以 上4。 sil sh+en1 ch+ang2 ve1 u2 ch+iii3 er4 c+uen4 u3 f+en1 h+uo4 i3 sh+ang4 sil

这样处理有一个什么好处呢?我们标注的信息,大部分信息(除了时间点信息,后续会提供脚本涉及到)都会保存在一个文件里,便于传输、转换、检索、演示、统计等,举例:

我们想搜索某一个读音;我们想搜索某个读音都是与哪些词有对应关系的;我们想让对方了解自己标注的所有文件的整体概况;

接下来我们演示如何将我们标注的TextGrid,转化为这样的文本,笔者考虑了三种情况。这个脚本在git目录(具体地址见本文最后)里的第37个脚本。37-textgrid_to_rhythm_txt\TextGrid_to_Rhythm_TXT.Praat 。

方案一

我们先考虑中文标注的情况,假设我们有两层最基本的标注,一层是读音音素信息,一层是汉字层。具体标注形式为:

在这里插入图片描述 这里我们想提示一下有这几个信息需要关注,第一是因为这里采用的是标贝公司的开源标注数据,这些数据的汉字层是有停顿边界的,即那些1,2,3,4等;第二是在拼音层声调是以数字的形式标注的;第三就是我们在生成拼音这层信息的时候,期望能够保存声母+韵母的结构,便于我们后续使用。

现在打开Praat运行脚本,Praat->Open Script->TextGrid_to_Rhythm_TXT.Praat

在第一个输入框内输入TextGrid所在的目录,本文脚本只是对TextGrid进行操作,目录里无需有对应的音频,由于目录是和脚本在同一个目录下,所以没有加任何的路径信息,其它同学在使用时也可以清空这个目录的数据,将你的TextGrid放到这个目录里进行操作;第二个文本框内,是输出的韵律文本的保存路径,同上,因为在同一个目录下,只需要写一下文件名称就可以 了;这里需要输入你的文字(英语是指词)的层的数字,如上图所示,我们这批中文标注,文字是在第2层;这里需要输入你的音素的层的数字,如上图所示,我们这批中文标注,音素是在第1层;在本方案中,最后一个输入保持是0不变,这里后面的其它方案会用到;设置完毕,点击OK运行脚本。 在这里插入图片描述 最后,我们得到了如下的输出文件: 在这里插入图片描述 方案二

我们考虑英语标注的情况,也是假设我们有两层最基本的标注,一层是读音音素信息,一层是英语单词层。具体标注形式为:

在这里插入图片描述

这里我们想提示一下有这几个信息需要关注,第一是这里采用的是LibriSpeech的开源数据,这些音频数据通过自动标注(做数据自动标注的,公众号后台咨询)生成以上信息;第二是在音素层是有词重音信息的;第三就是我们在生成音素这层信息的时候,是直接将音素用+号连接起来,后续我们也会推出脚本如何对英语音素划分音节。

现在打开Praat运行脚本,Praat->Open Script->TextGrid_to_Rhythm_TXT.Praat

在第一个输入框内输入TextGrid所在的目录,本文脚本只是对TextGrid进行操作,目录里无需有对应的音频,由于目录是和脚本在同一个目录下,所以没有加任何的路径信息,其它同学在使用时也可以清空这个目录的数据,将你的TextGrid放到这个目录里进行操作;第二个文本框内,是输出的韵律文本的保存路径,也是同上,因为在同一个目录下,只需要写一下文件名称就可以 了;这里需要输入你的词的层的数字,如上图所示,我们这批英语标注,词是在第1层;这里需要输入你的音素的层的数字,如上图所示,我们这批英语标注,音素是在第2层;在本方案中,最后一个输入保持是0不变,这里后面的其它方案会用到;设置完毕,点击OK运行脚本。 在这里插入图片描述

最后,我们得到了如下的输出文件: 在这里插入图片描述

方案三

这里我们增加一点小功能,有一些学者在标注的时候可能会用到一种叫做Point Tier的功能,比如以前面的中文标注为例: 在这里插入图片描述 这里的第三层,是一种Point Tier的形式,它跟我们常用的Interval Point形式不同,标注信息在一个边界条的中间。注意这里只是示例方便,将所有的Point Tier都标注在了一个前两层信息的最后一个边界上,有些人习惯于将这个Point Tier要标在一个字、或者音素的中间位置,这种情况其实在生成信息、提取信息时很不方便,在这里没有去探讨这样的做法。

现在打开Praat运行脚本,Praat->Open Script->TextGrid_to_Rhythm_TXT.Praat

在第一个输入框内输入TextGrid所在的目录,本文脚本只是对TextGrid进行操作,目录里无需有对应的音频,由于目录是和脚本在同一个目录下,所以没有加任何的路径信息,其它同学在使用时也可以清空这个目录的数据,将你的TextGrid放到这个目录里进行操作;第二个文本框内,是输出的韵律文本的保存路径,也是同上,因为在同一个目录下,只需要写一下文件名称就可以 了;这里需要输入你的文字(英语是指词)的层的数字,如上图所示,我们这批中文标注,文字是在第2层;这里需要输入你的音素的层的数字,如上图所示,我们这批中文标注,音素是在第1层;在本方案中,最后一个输入要改为3,代表这里有一个第3层的Point Tier信息要提取;设置完毕,点击OK运行脚本。 在这里插入图片描述

最后,我们得到了如下的输出文件,我们将Point Tier的信息放在了字这一层的相应的字后面加了括号: 在这里插入图片描述 总之,脚本想再全面也不可能覆盖所有的情况,如果确实有类似的需求,而你的标注是比较复杂的,可以加入QQ咨询群,或者在公众号后台发信息。

获取脚本

https://github.com/feelins/Praat_Scripts

本站所有Praat脚本都可以在上述github的项目目录里找到,如果日常对代码、脚本操作比较熟练的可通过下载、安装、配置github for windows在自己的电脑上通过git clone将代码下载到本机,这样的好处是可以跟主站及时更新代码。 不想费如此脑筋,可以通过点击如下图Code位置所示,下载整站的代码,可直接使用。 在这里插入图片描述

关注

公众号:极地语音工作室, QQ讨论群720939827

版权说明

1、版权归本博客作者所有;

2、未经本站或者作者允许, 不得任意转载本文内容,否则将视为侵权;

3、转载或者引用本文内容请注明来源及原作者;

4、对于不遵守此声明或者其他违法使用本站内容者,本人依法保留追究权等。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3